﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//int main()
//{
//	int arr[10] = { 1,2,4,4,5,6,4,4,5,8 };//125658
//	int n = 0;
//	scanf("%d", &n);
//	int j = 0;
//	for (int i = 0; i < 10; i++)
//	{
//		if (arr[i] != n)
//		{
//			arr[j++] = arr[i];
//		}
//	}
//	for (int i = 0; i < j; i++)
//	{
//		printf("%d", arr[i]);
//	}
//
//	return 0;
//}

//写一个函数my_strcpy，实现拷贝字符串的功能，
// 假设给定一个字符数组a，再给定一个字符数组b，将字符串a中的内容拷贝到字符串b中，拷贝内容包含字符串末尾的\0字符。
//void my_strcpy(char* dst,const char* str)
//{
//	while (*str != '\0')
//	{
//		*dst= *str;
//		dst++;
//		str++;
//	}
//}
//int main()
//{
//	char a[] = "dsvjcdss";
//	char b[10] = { 0 };
//	my_strcpy(b, a);
//	printf("%s", b);
//	return 0;
//}

//输⼊两个升序排列的序列，将两个序列合并为⼀个有序序列并输出。
//输⼊包含三⾏，第⼀⾏包含两个正整数n, m，⽤空格分隔。n表⽰第⼆⾏第⼀个升序序列中数字的个
//数，m表⽰第三⾏第⼆个升序序列中数字的个数。其中
//1 <= n <= 30, 1 <= m <= 30 第⼆⾏包含 n 个整数，⽤空格分隔。
//第三⾏包含 m 个整数，⽤空格分隔。
//输出为⼀⾏，输出⻓度为n + m的升序序列，即⻓度为n的升序序列和⻓度为m的升序序列中的元素重新进⾏升序序列排列合并。
//int main()
//{
//	int n, m;
//	scanf("%d %d", &n, &m);
//	int arr1[30], arr2[30];
//	for (int i = 0; i < n; i++)
//	{
//		scanf("%d", &arr1[i]);
//	}
//	for (int j = 0; j < m; j++)
//	{
//		scanf("%d", &arr2[j]);
//	}
//	int arr3[60];
//	int count1 = 0, count2 = 0,count3 = 0;
//	while (count1 < n && count2 < m)
//	{
//		if (arr1[count1] >= arr2[count2])
//		{
//			arr3[count3] = arr2[count2];
//			count2++;
//			count3++;
//		}
//		else
//		{
//			arr3[count3] = arr1[count1];
//			count1++;
//			count3++;
//		}
//	}
//	while (count1 != n)
//	{
//		arr3[count3++] = arr1[count1++];
//	}
//	while (count2 != m)
//	{
//		arr3[count3++] = arr2[count2++];
//	}
//	for (int i = 0; i < m + n; i++)
//	{
//		printf("%d ", arr3[i]);
//	}
//	return 0;
//}
//


//int smallestEvenMultiple(int n) {
//    int c = n * 2;
//    int k = n;
//    int flag = 1;
//    while (k <= c)
//    {
//        if (k % n == 0 && k % 2 == 0)
//        {
//            flag = 0;
//            break;
//        }
//        else
//        {
//            k++;
//        }
//    }
//    if (flag == 0)
//    {
//        return k;
//    }
//    else {
//        return -1;
//    }
//}
//int main()
//{
//    int ret = smallestEvenMultiple(5);
//    printf("%d", ret);
//	return 0;
//}

//#include<math.h>
//#include<stdbool.h>
//bool isPalindrome(int x) {
//	if (x < 0)
//	{
//		return false;
//	}
//	else
//	{
//		int ret = x;
//		int count = 0;
//		while (ret)
//		{
//			count++;
//			ret /= 10;
//		}
//		int a = count;
//		bool flag = true;
//		while (a >= count / 2)
//		{
//			int h = x / ((int)pow(10, a-1)) % 10;
//			int j = x / ((int)pow(10, count - a )) % 10;
//			if (h != j  )
//			{
//				flag = false;
//				break;
//			}
//			else
//			{
//				a--;
//			}
//		}
//		return flag;
//	}
//}
//int main()
//{
//	bool e = isPalindrome(123321);
//	return 0;
//}
#include<stdbool.h>
bool isSameAfterReversals(int num) {
    if (num % 10 == 0)
    {
        return false;
    }
    else
    {
        int reversed1 = 0;
        int ret = num;
        while (ret)
        {
            reversed1 = reversed1 * 10 + ret % 10;
            ret /= 10;
        }
        ret = reversed1;
        int reversed2 = 0;
        while (ret)
        {
            reversed2 = reversed2 * 10 + ret % 10;
            ret /= 10;
        }
        if (num == reversed2)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
}
int main()
{
    bool ret = isSameAfterReversals(526);
    return 0;
}